%%{init: {'themeVariables': { 'fontSize': '12px'}}}%%
graph TD
    classDef path fill:#eee,stroke:#000,color:#000
    classDef plan fill:#fff,stroke-width:1px,color:#000
    classDef itemplan fill:#fff,stroke-width:2px,color:#000
    classDef unbatchedplan fill:#dff,stroke-width:1px,color:#000
    classDef sideeffectplan fill:#fcc,stroke-width:2px,color:#000
    classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left

    subgraph "Buckets for queries/v4/space"
    Bucket0("Bucket 0 (root)<br /><br />1: <br />ᐳ: 9, 10, 34, 35, 11, 21, 24, 26<br />2: PgSelect[8]<br />3: Connection[12]<br />4: ConnectionItems[14]"):::bucket
    Bucket1("Bucket 1 (nullableBoundary)<br />Deps: 12, 14<br /><br />ROOT Connectionᐸ8ᐳ[12]"):::bucket
    Bucket3("Bucket 3 (listItem)<br /><br />ROOT __Item{3}ᐸ14ᐳ[17]"):::bucket
    Bucket4("Bucket 4 (nullableBoundary)<br />Deps: 18<br /><br />ROOT PgSelectSingle{3}ᐸspacecraftᐳ[18]"):::bucket
    Bucket5("Bucket 5 (nullableBoundary)<br />Deps: 27<br /><br />ROOT PgClassExpression{4}ᐸ(1/0) /* E...ferred! */ᐳ[27]"):::bucket
    Bucket6("Bucket 6 (nullableBoundary)<br />Deps: 27, 28<br /><br />ROOT Access{5}ᐸ27.startᐳ[28]"):::bucket
    Bucket7("Bucket 7 (nullableBoundary)<br />Deps: 27, 29<br /><br />ROOT Access{5}ᐸ27.endᐳ[29]"):::bucket
    end
    Bucket0 --> Bucket1
    Bucket1 --> Bucket3
    Bucket3 --> Bucket4
    Bucket4 --> Bucket5
    Bucket5 --> Bucket6 & Bucket7

    %% plan dependencies
    PgSelect8[["PgSelect[8∈0] ➊<br />ᐸspacecraftᐳ"]]:::plan
    Object11{{"Object[11∈0] ➊<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    PgFromExpression26{{"PgFromExpression[26∈0] ➊"}}:::plan
    Object11 & PgFromExpression26 --> PgSelect8
    Access9{{"Access[9∈0] ➊<br />ᐸ2.pgSettingsᐳ"}}:::plan
    Access10{{"Access[10∈0] ➊<br />ᐸ2.withPgClientᐳ"}}:::plan
    Access9 & Access10 --> Object11
    __InputObject21{{"__InputObject[21∈0] ➊<br />More deps:<br />- Constantᐸ'1'ᐳ[34]<br />- Constantᐸ'MOBILE'ᐳ[35]"}}:::plan
    __Value2["__Value[2∈0] ➊<br />ᐸcontextᐳ"]:::plan
    __Value2 --> Access9
    __Value2 --> Access10
    Connection12[["Connection[12∈0] ➊<br />ᐸ8ᐳ"]]:::plan
    PgSelect8 --> Connection12
    ConnectionItems14[["ConnectionItems[14∈0] ➊"]]:::plan
    Connection12 --> ConnectionItems14
    BakedInput24{{"BakedInput[24∈0] ➊"}}:::plan
    __InputObject21 --> BakedInput24
    BakedInput24 --> PgFromExpression26
    __Item17[/"__Item[17∈3]<br />ᐸ14ᐳ"\]:::itemplan
    ConnectionItems14 ==> __Item17
    PgSelectSingle18{{"PgSelectSingle[18∈3]<br />ᐸspacecraftᐳ"}}:::plan
    __Item17 --> PgSelectSingle18
    PgClassExpression19{{"PgClassExpression[19∈4]<br />ᐸ__spacecraft__.”id”ᐳ"}}:::plan
    PgSelectSingle18 --> PgClassExpression19
    PgClassExpression20{{"PgClassExpression[20∈4]<br />ᐸ__spacecraft__.”name”ᐳ"}}:::plan
    PgClassExpression19 o--o PgClassExpression20
    PgClassExpression27{{"PgClassExpression[27∈4]<br />ᐸ(1/0) /* E...ferred! */ᐳ"}}:::plan
    PgSelectSingle18 --> PgClassExpression27
    Access28{{"Access[28∈5]<br />ᐸ27.startᐳ"}}:::plan
    PgClassExpression27 --> Access28
    Access29{{"Access[29∈5]<br />ᐸ27.endᐳ"}}:::plan
    Access28 o--o Access29
    Access30{{"Access[30∈6]<br />ᐸ27.start.valueᐳ"}}:::plan
    Access29 o--o Access30
    Access32{{"Access[32∈6]<br />ᐸ27.start.inclusiveᐳ"}}:::plan
    Access30 o--o Access32
    Access31{{"Access[31∈7]<br />ᐸ27.end.valueᐳ"}}:::plan
    Access32 o--o Access31
    Access33{{"Access[33∈7]<br />ᐸ27.end.inclusiveᐳ"}}:::plan
    Access31 o--o Access33

    %% define steps
    classDef bucket0 stroke:#696969
    class Bucket0,__Value2,PgSelect8,Access9,Access10,Object11,Connection12,ConnectionItems14,__InputObject21,BakedInput24,PgFromExpression26 bucket0
    classDef bucket1 stroke:#00bfff
    class Bucket1 bucket1
    classDef bucket3 stroke:#ffa500
    class Bucket3,__Item17,PgSelectSingle18 bucket3
    classDef bucket4 stroke:#0000ff
    class Bucket4,PgClassExpression19,PgClassExpression20,PgClassExpression27 bucket4
    classDef bucket5 stroke:#7fff00
    class Bucket5,Access28,Access29 bucket5
    classDef bucket6 stroke:#ff1493
    class Bucket6,Access30,Access32 bucket6
    classDef bucket7 stroke:#808000
    class Bucket7,Access31,Access33 bucket7

